1e5c31af7Sopenharmony_ci-------------------------------------------------------------------------
2e5c31af7Sopenharmony_cidrawElements Quality Program Documentation
3e5c31af7Sopenharmony_ci-----------------------------------------------
4e5c31af7Sopenharmony_ci
5e5c31af7Sopenharmony_ciCopyright 2014 The Android Open Source Project
6e5c31af7Sopenharmony_ci
7e5c31af7Sopenharmony_ciLicensed under the Apache License, Version 2.0 (the "License");
8e5c31af7Sopenharmony_ciyou may not use this file except in compliance with the License.
9e5c31af7Sopenharmony_ciYou may obtain a copy of the License at
10e5c31af7Sopenharmony_ci
11e5c31af7Sopenharmony_ci     http://www.apache.org/licenses/LICENSE-2.0
12e5c31af7Sopenharmony_ci
13e5c31af7Sopenharmony_ciUnless required by applicable law or agreed to in writing, software
14e5c31af7Sopenharmony_cidistributed under the License is distributed on an "AS IS" BASIS,
15e5c31af7Sopenharmony_ciWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16e5c31af7Sopenharmony_ciSee the License for the specific language governing permissions and
17e5c31af7Sopenharmony_cilimitations under the License.
18e5c31af7Sopenharmony_ci-------------------------------------------------------------------------
19e5c31af7Sopenharmony_ci
20e5c31af7Sopenharmony_ci    OpenGL ES 2.0 Negative API tests - Function listing
21e5c31af7Sopenharmony_ci
22e5c31af7Sopenharmony_ciLegend:
23e5c31af7Sopenharmony_ci	o = Tests done
24e5c31af7Sopenharmony_ci	- = Test not done
25e5c31af7Sopenharmony_ci	x = Will not generate errors, no negative test
26e5c31af7Sopenharmony_ci
27e5c31af7Sopenharmony_ci-----------------------------------------------
28e5c31af7Sopenharmony_ci Special functions
29e5c31af7Sopenharmony_ci-----------------------------------------------
30e5c31af7Sopenharmony_ci
31e5c31af7Sopenharmony_cix glFinish	(void);
32e5c31af7Sopenharmony_cix glFlush	(void);
33e5c31af7Sopenharmony_cio glHint	(GLenum target, GLenum mode);
34e5c31af7Sopenharmony_ci
35e5c31af7Sopenharmony_ci-----------------------------------------------
36e5c31af7Sopenharmony_ci State functions
37e5c31af7Sopenharmony_ci-----------------------------------------------
38e5c31af7Sopenharmony_ci
39e5c31af7Sopenharmony_cio glDisable								(GLenum cap);
40e5c31af7Sopenharmony_cio glEnable								(GLenum cap);
41e5c31af7Sopenharmony_cio glGetAttachedShaders					(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
42e5c31af7Sopenharmony_cio glGetBufferParameteriv				(GLenum target, GLenum pname, GLint* params);
43e5c31af7Sopenharmony_cio glGetBooleanv							(GLenum pname, GLboolean* params);
44e5c31af7Sopenharmony_cix glGetError							(void);
45e5c31af7Sopenharmony_cio glGetFloatv							(GLenum pname, GLfloat* params);
46e5c31af7Sopenharmony_cio glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
47e5c31af7Sopenharmony_cio glGetIntegerv							(GLenum pname, GLint* params);
48e5c31af7Sopenharmony_cio glGetProgramiv						(GLuint program, GLenum pname, GLint* params);
49e5c31af7Sopenharmony_cio glGetProgramInfoLog					(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
50e5c31af7Sopenharmony_cio glGetRenderbufferParameteriv			(GLenum target, GLenum pname, GLint* params);
51e5c31af7Sopenharmony_cio glGetShaderiv							(GLuint shader, GLenum pname, GLint* params);
52e5c31af7Sopenharmony_cio glGetShaderInfoLog					(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
53e5c31af7Sopenharmony_cio glGetShaderPrecisionFormat			(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
54e5c31af7Sopenharmony_cio glGetShaderSource						(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
55e5c31af7Sopenharmony_cio glGetString							(GLenum name);
56e5c31af7Sopenharmony_cio glGetTexParameterfv					(GLenum target, GLenum pname, GLfloat* params);
57e5c31af7Sopenharmony_cio glGetTexParameteriv					(GLenum target, GLenum pname, GLint* params);
58e5c31af7Sopenharmony_cio glGetUniformfv						(GLuint program, GLint location, GLfloat* params);
59e5c31af7Sopenharmony_cio glGetUniformiv						(GLuint program, GLint location, GLint* params);
60e5c31af7Sopenharmony_cio glGetVertexAttribfv					(GLuint index, GLenum pname, GLfloat* params);
61e5c31af7Sopenharmony_cio glGetVertexAttribiv					(GLuint index, GLenum pname, GLint* params);
62e5c31af7Sopenharmony_cio glGetVertexAttribPointerv				(GLuint index, GLenum pname, GLvoid** pointer);
63e5c31af7Sopenharmony_cio glIsEnabled							(GLenum cap);
64e5c31af7Sopenharmony_ci
65e5c31af7Sopenharmony_ci-----------------------------------------------
66e5c31af7Sopenharmony_ci Transforms & Fragment API functions
67e5c31af7Sopenharmony_ci-----------------------------------------------
68e5c31af7Sopenharmony_ci
69e5c31af7Sopenharmony_cix glBlendColor				(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
70e5c31af7Sopenharmony_cio glBlendEquation			(GLenum mode);
71e5c31af7Sopenharmony_cio glBlendEquationSeparate	(GLenum modeRGB, GLenum modeAlpha);
72e5c31af7Sopenharmony_cio glBlendFunc				(GLenum sfactor, GLenum dfactor);
73e5c31af7Sopenharmony_cio glBlendFuncSeparate		(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
74e5c31af7Sopenharmony_cix glColorMask				(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
75e5c31af7Sopenharmony_cio glDepthFunc				(GLenum func);
76e5c31af7Sopenharmony_cix glDepthMask				(GLboolean flag);
77e5c31af7Sopenharmony_cix glDepthRangef				(GLclampf zNear, GLclampf zFar);
78e5c31af7Sopenharmony_cix glSampleCoverage			(GLclampf value, GLboolean invert);
79e5c31af7Sopenharmony_cio glScissor					(GLint x, GLint y, GLsizei width, GLsizei height);
80e5c31af7Sopenharmony_cio glStencilFunc				(GLenum func, GLint ref, GLuint mask);
81e5c31af7Sopenharmony_cio glStencilFuncSeparate		(GLenum face, GLenum func, GLint ref, GLuint mask);
82e5c31af7Sopenharmony_cix glStencilMask				(GLuint mask);
83e5c31af7Sopenharmony_cio glStencilMaskSeparate		(GLenum face, GLuint mask);
84e5c31af7Sopenharmony_cio glStencilOp				(GLenum fail, GLenum zfail, GLenum zpass);
85e5c31af7Sopenharmony_cio glStencilOpSeparate		(GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
86e5c31af7Sopenharmony_cio glViewport				(GLint x, GLint y, GLsizei width, GLsizei height);
87e5c31af7Sopenharmony_ci
88e5c31af7Sopenharmony_ci-----------------------------------------------
89e5c31af7Sopenharmony_ci FBO API functions
90e5c31af7Sopenharmony_ci-----------------------------------------------
91e5c31af7Sopenharmony_ci
92e5c31af7Sopenharmony_cio glBindFramebuffer			(GLenum target, GLuint framebuffer);
93e5c31af7Sopenharmony_cio glBindRenderbuffer		(GLenum target, GLuint renderbuffer);
94e5c31af7Sopenharmony_cio glCheckFramebufferStatus	(GLenum target);
95e5c31af7Sopenharmony_cio glDeleteFramebuffers		(GLsizei n, const GLuint* framebuffers);
96e5c31af7Sopenharmony_cio glDeleteRenderbuffers		(GLsizei n, const GLuint* renderbuffers);
97e5c31af7Sopenharmony_cio glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
98e5c31af7Sopenharmony_cio glFramebufferTexture2D	(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
99e5c31af7Sopenharmony_cio glGenFramebuffers			(GLsizei n, GLuint* framebuffers);
100e5c31af7Sopenharmony_cio glGenRenderbuffers		(GLsizei n, GLuint* renderbuffers);
101e5c31af7Sopenharmony_cio glRenderbufferStorage		(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
102e5c31af7Sopenharmony_ci
103e5c31af7Sopenharmony_ci-----------------------------------------------
104e5c31af7Sopenharmony_ci Buffer and Buffer Object API functions
105e5c31af7Sopenharmony_ci-----------------------------------------------
106e5c31af7Sopenharmony_ci
107e5c31af7Sopenharmony_cio glBindBuffer		(GLenum target, GLuint buffer);
108e5c31af7Sopenharmony_cio glBufferData		(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
109e5c31af7Sopenharmony_cio glBufferSubData	(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
110e5c31af7Sopenharmony_cio glClear			(GLbitfield mask);
111e5c31af7Sopenharmony_cix glClearColor		(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
112e5c31af7Sopenharmony_cix glClearDepthf		(GLclampf depth);
113e5c31af7Sopenharmony_cix glClearStencil	(GLint s);
114e5c31af7Sopenharmony_cio glDeleteBuffers	(GLsizei n, const GLuint* buffers);
115e5c31af7Sopenharmony_cio glGenBuffers		(GLsizei n, GLuint* buffers);
116e5c31af7Sopenharmony_cio glReadPixels		(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
117e5c31af7Sopenharmony_ci
118e5c31af7Sopenharmony_ci-----------------------------------------------
119e5c31af7Sopenharmony_ci Shader API functions
120e5c31af7Sopenharmony_ci-----------------------------------------------
121e5c31af7Sopenharmony_ci
122e5c31af7Sopenharmony_cio glBindAttribLocation		(GLuint program, GLuint index, const GLchar* name);
123e5c31af7Sopenharmony_cio glAttachShader			(GLuint program, GLuint shader);
124e5c31af7Sopenharmony_cio glCreateShader			(GLenum type);
125e5c31af7Sopenharmony_cio glCompileShader			(GLuint shader);
126e5c31af7Sopenharmony_cix glCreateProgram			(void);
127e5c31af7Sopenharmony_cio glDeleteProgram			(GLuint program);
128e5c31af7Sopenharmony_cio glDeleteShader			(GLuint shader);
129e5c31af7Sopenharmony_cio glDetachShader			(GLuint program, GLuint shader);
130e5c31af7Sopenharmony_cio glGetActiveAttrib			(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
131e5c31af7Sopenharmony_cio glGetActiveUniform		(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
132e5c31af7Sopenharmony_cio glGetAttribLocation		(GLuint program, const GLchar* name);
133e5c31af7Sopenharmony_cio glGetUniformLocation		(GLuint program, const GLchar* name);
134e5c31af7Sopenharmony_cio glLinkProgram				(GLuint program);
135e5c31af7Sopenharmony_cio glReleaseShaderCompiler	(void);
136e5c31af7Sopenharmony_cio glShaderBinary			(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
137e5c31af7Sopenharmony_cio glShaderSource			(GLuint shader, GLsizei count, const GLchar** string, const GLint* length);
138e5c31af7Sopenharmony_cio glUniform1f				(GLint location, GLfloat x);
139e5c31af7Sopenharmony_cio glUniform1fv				(GLint location, GLsizei count, const GLfloat* v);
140e5c31af7Sopenharmony_cio glUniform1i				(GLint location, GLint x);
141e5c31af7Sopenharmony_cio glUniform1iv				(GLint location, GLsizei count, const GLint* v);
142e5c31af7Sopenharmony_cio glUniform2f				(GLint location, GLfloat x, GLfloat y);
143e5c31af7Sopenharmony_cio glUniform2fv				(GLint location, GLsizei count, const GLfloat* v);
144e5c31af7Sopenharmony_cio glUniform2i				(GLint location, GLint x, GLint y);
145e5c31af7Sopenharmony_cio glUniform2iv				(GLint location, GLsizei count, const GLint* v);
146e5c31af7Sopenharmony_cio glUniform3f				(GLint location, GLfloat x, GLfloat y, GLfloat z);
147e5c31af7Sopenharmony_cio glUniform3fv				(GLint location, GLsizei count, const GLfloat* v);
148e5c31af7Sopenharmony_cio glUniform3i				(GLint location, GLint x, GLint y, GLint z);
149e5c31af7Sopenharmony_cio glUniform3iv				(GLint location, GLsizei count, const GLint* v);
150e5c31af7Sopenharmony_cio glUniform4f				(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
151e5c31af7Sopenharmony_cio glUniform4fv				(GLint location, GLsizei count, const GLfloat* v);
152e5c31af7Sopenharmony_cio glUniform4i				(GLint location, GLint x, GLint y, GLint z, GLint w);
153e5c31af7Sopenharmony_cio glUniform4iv				(GLint location, GLsizei count, const GLint* v);
154e5c31af7Sopenharmony_cio glUniformMatrix2fv		(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
155e5c31af7Sopenharmony_cio glUniformMatrix3fv		(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
156e5c31af7Sopenharmony_cio glUniformMatrix4fv		(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
157e5c31af7Sopenharmony_cio glUseProgram				(GLuint program);
158e5c31af7Sopenharmony_cio glValidateProgram			(GLuint program);
159e5c31af7Sopenharmony_ci
160e5c31af7Sopenharmony_ci-----------------------------------------------
161e5c31af7Sopenharmony_ci Texture API functions
162e5c31af7Sopenharmony_ci-----------------------------------------------
163e5c31af7Sopenharmony_ci
164e5c31af7Sopenharmony_cio glActiveTexture			(GLenum texture);
165e5c31af7Sopenharmony_cio glBindTexture				(GLenum target, GLuint texture);
166e5c31af7Sopenharmony_cio glCompressedTexImage2D	(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
167e5c31af7Sopenharmony_cio glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
168e5c31af7Sopenharmony_cio glCopyTexImage2D			(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
169e5c31af7Sopenharmony_cio glCopyTexSubImage2D		(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
170e5c31af7Sopenharmony_cio glDeleteTextures			(GLsizei n, const GLuint* textures);
171e5c31af7Sopenharmony_cio glGenerateMipmap			(GLenum target);
172e5c31af7Sopenharmony_cio glGenTextures				(GLsizei n, GLuint* textures);
173e5c31af7Sopenharmony_cio glPixelStorei				(GLenum pname, GLint param);
174e5c31af7Sopenharmony_cio glTexImage2D				(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
175e5c31af7Sopenharmony_cio glTexParameterf			(GLenum target, GLenum pname, GLfloat param);
176e5c31af7Sopenharmony_cio glTexParameterfv			(GLenum target, GLenum pname, const GLfloat* params);
177e5c31af7Sopenharmony_cio glTexParameteri			(GLenum target, GLenum pname, GLint param);
178e5c31af7Sopenharmony_cio glTexParameteriv			(GLenum target, GLenum pname, const GLint* params);
179e5c31af7Sopenharmony_cio glTexSubImage2D			(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
180e5c31af7Sopenharmony_ci
181e5c31af7Sopenharmony_ci-----------------------------------------------
182e5c31af7Sopenharmony_ci Vertex Array API functions
183e5c31af7Sopenharmony_ci-----------------------------------------------
184e5c31af7Sopenharmony_ci
185e5c31af7Sopenharmony_cio glDisableVertexAttribArray	(GLuint index);
186e5c31af7Sopenharmony_cio glDrawArrays					(GLenum mode, GLint first, GLsizei count);
187e5c31af7Sopenharmony_cio glDrawElements				(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
188e5c31af7Sopenharmony_cio glEnableVertexAttribArray		(GLuint index);
189e5c31af7Sopenharmony_cio glVertexAttrib1f				(GLuint indx, GLfloat x);
190e5c31af7Sopenharmony_cio glVertexAttrib1fv				(GLuint indx, const GLfloat* values);
191e5c31af7Sopenharmony_cio glVertexAttrib2f				(GLuint indx, GLfloat x, GLfloat y);
192e5c31af7Sopenharmony_cio glVertexAttrib2fv				(GLuint indx, const GLfloat* values);
193e5c31af7Sopenharmony_cio glVertexAttrib3f				(GLuint indx, GLfloat x, GLfloat y, GLfloat z);
194e5c31af7Sopenharmony_cio glVertexAttrib3fv				(GLuint indx, const GLfloat* values);
195e5c31af7Sopenharmony_cio glVertexAttrib4f				(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
196e5c31af7Sopenharmony_cio glVertexAttrib4fv				(GLuint indx, const GLfloat* values);
197e5c31af7Sopenharmony_cio glVertexAttribPointer			(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
198e5c31af7Sopenharmony_ci
199e5c31af7Sopenharmony_ci-----------------------------------------------
200e5c31af7Sopenharmony_ci Rasterization API functions
201e5c31af7Sopenharmony_ci-----------------------------------------------
202e5c31af7Sopenharmony_ci
203e5c31af7Sopenharmony_cio glCullFace		(GLenum mode);
204e5c31af7Sopenharmony_cio glFrontFace		(GLenum mode);
205e5c31af7Sopenharmony_cio glLineWidth		(GLfloat width);
206e5c31af7Sopenharmony_cix glPolygonOffset	(GLfloat factor, GLfloat units);
207e5c31af7Sopenharmony_ci
208e5c31af7Sopenharmony_ci-----------------------------------------------
209e5c31af7Sopenharmony_ci Named object usage
210e5c31af7Sopenharmony_ci-----------------------------------------------
211e5c31af7Sopenharmony_ci
212e5c31af7Sopenharmony_cio glIsBuffer			(GLuint buffer);
213e5c31af7Sopenharmony_cio glIsFramebuffer		(GLuint framebuffer);
214e5c31af7Sopenharmony_cio glIsProgram			(GLuint program);
215e5c31af7Sopenharmony_cio glIsRenderbuffer		(GLuint renderbuffer);
216e5c31af7Sopenharmony_cio glIsShader			(GLuint shader);
217e5c31af7Sopenharmony_cio glIsTexture			(GLuint texture);
218